The present invention relates to electronic data processing, and in particular to recording user interactions with a computer program application.
Recording a user's interaction with an application can be useful, for example, to test a system. In one approach to testing, known inputs (test data) are supplied to the application during execution to establish what outputs should result from specified user actions under proper operating conditions. Another instance of the application, which can be running on a different platform and at any location, can be tested by applying the test data to the other application instance and comparing the processed outputs to the predicted outputs. Using test data as input, the interaction with an application can be recorded and reviewed to learn about the system's behavior in response to the test input. Typically, a test tool is used to record the interactions of a user with an application. User interactions can be recorded by tracking messages generated by and for an operating system, such as a Microsoft® Windows® operating system. Low level messages such as key down, character N, key up, and so on can be grouped as a single higher-level input, such as the input by the user of the character “N”, rather than actually storing all of the low level messages.